KFbxTrimNurbsSurface Class Reference

#include <kfbxtrimnurbssurface.h>
Inheritance diagram for KFbxTrimNurbsSurface:
Inheritance graph
[legend]

List of all members.


Detailed Description

KFbxTrimNurbsSurface describes a NURBS surface with regions trimmed or cut away with trimming boundaries.

Definition at line 148 of file kfbxtrimnurbssurface.h.


Public Member Functions

virtual EAttributeType  GetAttributeType () const
  Returns the type of node attribute.
int  GetTrimRegionCount () const
  Returns the number of regions on this trimmed NURBS surface.
void  BeginTrimRegion ()
  Calls this function before adding boundaries to a new trim region.
void  EndTrimRegion ()
  Calls this function after the last boundary for a given region is added.
bool  AddBoundary (KFbxBoundary *pBoundary)
  Appends a trimming boundary to the set of trimming boundaries.
KFbxBoundary GetBoundary (int pIndex, int pRegionIndex=0)
  Returns the boundary at a given index for the specified region.
KFbxBoundary const *  GetBoundary (int pIndex, int pRegionIndex=0) const
  Returns the boundary at a given index for the specified region.
int  GetBoundaryCount (int pRegionIndex=0) const
  Returns the number of boundaries for a given region.
void  SetNurbsSurface (KFbxNurbsSurface const *pNurbs)
  Sets the NURBS surface that is trimmed by the trimming boundaries.
KFbxNurbsSurface GetNurbsSurface ()
  Returns the NURBS surface that is trimmed by the trim boundaries.
KFbxNurbsSurface const *  GetNurbsSurface () const
  Returns the NURBS surface that is trimmed by the trim boundaries.
void  SetFlipNormals (bool pFlip)
  Sets the flag which indicates whether the surface normals are flipped.
bool  GetFlipNormals () const
  Checks if the normals are flipped.
virtual int  GetControlPointsCount () const
  Returns the count of the NURBS surface's control points.
virtual void  SetControlPointAt (KFbxVector4 &pCtrlPoint, KFbxVector4 &pNormal, int pIndex)
  Sets the control point and the normal values for a specified index.
virtual KFbxVector4 GetControlPoints () const
  Returns the NURBS surface's control points.
Shape Management
virtual int  AddShape (KFbxShape *pShape, char const *pShapeName)
  Adds a shape and its associated name to the NURBS surface.
virtual void  ClearShape ()
  Removes all shapes without destroying them.
virtual int  GetShapeCount () const
  Returns the number of shapes.
virtual KFbxShape GetShape (int pIndex)
  Returns the shape found at the specified index.
virtual KFbxShape const *  GetShape (int pIndex) const
  Returns the shape found at the specified index.
virtual char const *  GetShapeName (int pIndex) const
  Returns the shape name found at the specified index.
virtual KFbxAnimCurve GetShapeChannel (int pIndex, KFbxAnimLayer *pLayer, bool pCreateAsNeeded=false)
  Returns a shape channel.
virtual KFCurve GetShapeChannel (int pIndex, bool pCreateAsNeeded=false, char const *pTakeName=NULL)
  Returns a shape channel.

Member Function Documentation

virtual EAttributeType GetAttributeType (  )  const [virtual]

Returns the type of node attribute.

Reimplemented from KFbxGeometry.

int GetTrimRegionCount (  )  const

Returns the number of regions on this trimmed NURBS surface.

Note: There is always at least one region.

Returns:
The number of regions

void BeginTrimRegion (  ) 

Calls this function before adding boundaries to a new trim region.

The number of regions is incremented on this call.

void EndTrimRegion (  ) 

Calls this function after the last boundary for a given region is added.

If no boundaries are added between the calls to BeginTrimRegion and EndTrimRegion, the last region is removed.

bool AddBoundary ( KFbxBoundary pBoundary  ) 

Appends a trimming boundary to the set of trimming boundaries.

The first boundary specified for a given trim region should be the outer boundary. All other boundaries are inner boundaries. This must be called after a call to BeginTrimRegion(). Boundaries cannot be shared among regions. Duplicate the boundary if necessary.

Parameters:
pBoundary  The boundary to add.
Returns:
True if the boundary is added successfully. If the boundary is not added successfully, returns false.

KFbxBoundary* GetBoundary ( int  pIndex,
int  pRegionIndex = 0  
)

Returns the boundary at a given index for the specified region.

Parameters:
pIndex  The index of the boundary to retrieve, no bound checking is done.
pRegionIndex  The index of the region which is bordered by the boundary.
Returns:
The trimming boundary at index pIndex, if pIndex is in the range [0, GetBoundaryCount() ), otherwise the result is undefined.

KFbxBoundary const* GetBoundary ( int  pIndex,
int  pRegionIndex = 0  
) const

Returns the boundary at a given index for the specified region.

Parameters:
pIndex  The index of the boundary to retrieve, no bound checking is done.
pRegionIndex  The index of the region which is bordered by the boundary.
Returns:
The trimming boundary at index pIndex, if pIndex is in the range [0, GetBoundaryCount() ), otherwise the result is undefined.

int GetBoundaryCount ( int  pRegionIndex = 0  )  const

Returns the number of boundaries for a given region.

Parameters:
pRegionIndex  The index of the region.
Returns:
The number of trim boundaries for the given region.

void SetNurbsSurface ( KFbxNurbsSurface const *  pNurbs  ) 

Sets the NURBS surface that is trimmed by the trimming boundaries.

Parameters:
pNurbs  The NURBS surface to be trimmed.

KFbxNurbsSurface* GetNurbsSurface (  ) 

Returns the NURBS surface that is trimmed by the trim boundaries.

Returns:
A pointer to the (untrimmed) NURBS surface.

KFbxNurbsSurface const* GetNurbsSurface (  )  const

Returns the NURBS surface that is trimmed by the trim boundaries.

Returns:
A pointer to the (untrimmed) NURBS surface.

void SetFlipNormals ( bool  pFlip  )  [inline]

Sets the flag which indicates whether the surface normals are flipped.

You can flip the normals of the surface to reverse the surface.

Parameters:
pFlip  If true, the surface is reversed. If it is false, the surface is not reversed.

Definition at line 227 of file kfbxtrimnurbssurface.h.

bool GetFlipNormals (  )  const [inline]

Checks if the normals are flipped.

Returns:
True if normals are flipped, returns false if they are not flipped.

Definition at line 232 of file kfbxtrimnurbssurface.h.

virtual int AddShape ( KFbxShape pShape,
char const *  pShapeName  
) [virtual]

Adds a shape and its associated name to the NURBS surface.

Shapes on trim NURBS are stored on the untrimmed surface. Thus, this is the same as calling GetNurbsSurface()->AddShape(). See KFbxGeometry::AddShape() for a description of the method.

Parameters:
pShape  A pointer to the shape object.
pShapeName  The name given to the shape.
Returns:
-1

Reimplemented from KFbxGeometry.

virtual void ClearShape (  )  [virtual]

Removes all shapes without destroying them.

Shapes on trim NURBS are stored on the untrimmed surface. Thus, this is the same as calling GetNurbsSurface()->ClearShape(). See KFbxGeometry::ClearShape() for a description of the method.

Reimplemented from KFbxGeometry.

virtual int GetShapeCount (  )  const [virtual]

Returns the number of shapes.

Shapes on trim NURBS are stored on the untrimmed surface. Thus, this is the same as calling GetNurbsSurface()->GetShapeCount(). See KFbxGeometry::GetShapeCount() for a description of the method.

Returns:
The number of added shapes.

Reimplemented from KFbxGeometry.

virtual KFbxShape* GetShape ( int  pIndex  )  [virtual]

Returns the shape found at the specified index.

Shapes on trim NURBS are stored on the untrimmed surface. Thus, this is the same as calling GetNurbsSurface()->GetShape(). See KFbxGeometry::GetShape() for a description of the method.

Parameters:
pIndex  The specified shape index.
Returns:
The shape at the specified index.

Reimplemented from KFbxGeometry.

virtual KFbxShape const* GetShape ( int  pIndex  )  const [virtual]

Returns the shape found at the specified index.

Shapes on trim NURBS are stored on the untrimmed surface. Thus, this is the same as calling GetNurbsSurface()->GetShape(). See KFbxGeometry::GetShape() for a description of the method.

Parameters:
pIndex  The specified shape index.
Returns:
The shape at the specified index.

Reimplemented from KFbxGeometry.

virtual char const* GetShapeName ( int  pIndex  )  const [virtual]

Returns the shape name found at the specified index.

Shapes on trim NURBS are stored on the untrimmed surface. Thus, this is the same as calling GetNurbsSurface()->GetShapeName(). See KFbxGeometry::GetShapeName() for a description of the method.

Parameters:
pIndex  The specified shape index.
Returns:
The shape name found at the specified index.

Reimplemented from KFbxGeometry.

virtual KFbxAnimCurve* GetShapeChannel ( int  pIndex,
KFbxAnimLayer pLayer,
bool  pCreateAsNeeded = false  
) [virtual]

Returns a shape channel.

Shapes on trim NURBS are stored on the untrimmed surface. Thus, this is the same as calling GetNurbsSurface()->GetShapeChannel() See KFbxGeometry::GetShapeChannel() for a description of the method.

Parameters:
pIndex  Shape index.
pLayer  The animation layer to get the requested animation curve.
pCreateAsNeeded  If true, the animation curve is created if it is not already present.

Reimplemented from KFbxGeometry.

virtual KFCurve* GetShapeChannel ( int  pIndex,
bool  pCreateAsNeeded = false,
char const *  pTakeName = NULL  
) [virtual]

Returns a shape channel.

This method is deprecated and should not be used anymore. Instead, you can call the equivalent using KFbxAnimLayer.

Parameters:
pIndex 
pCreateAsNeeded 
pTakeName 

Reimplemented from KFbxGeometry.

virtual int GetControlPointsCount (  )  const [virtual]

Returns the count of the NURBS surface's control points.

Returns:
The NURBS surface's control points count.

Reimplemented from KFbxGeometryBase.

virtual void SetControlPointAt ( KFbxVector4 pCtrlPoint,
KFbxVector4 pNormal,
int  pIndex  
) [virtual]

Sets the control point and the normal values for a specified index.

Parameters:
pCtrlPoint  The value of the control point.
pNormal  The value of the normal.
pIndex  The specified index.

virtual KFbxVector4* GetControlPoints (  )  const [virtual]

Returns the NURBS surface's control points.

Reimplemented from KFbxGeometryBase.

KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface
KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface KFbxTrimNurbsSurface